Global Capacity on Demand (Global CoD) refers to a scheme where computing resources are reserved in a set of host machines. The reserved resources are then designates for use by one or more customer. A customer may purchase a ‘base license’ for a portion of the resources on the host machines to support certain need for resources. In addition, a ‘global license’ for a certain amount of additional resources may be also purchased to support any further needs of the customer for resources.
The purchase of the combination of base and global licenses allows a customer some flexibility in its ability to satisfy expected and unexpected needs for resources at a reasonable cost. For example, a base license may be purchased for 4 of the 8 processors on a host machine. If there are 3 host machines, a global license may be purchased for 5 additional processors. In this scenario, 4 base license processors may be activated on each host regularly and up to a total of 5 additional processors can be activated at any given time across all 3 hosts, depending on customer needs.
A customer may utilize resources on a plurality (i.e., a cluster) of host machines. Known solutions for performance optimization of virtual machines (VMs) that run on a cluster of hosts do not take into account the optimization potentials for dynamic manipulation of global capacity discussed above. For example, if a VM running on a first host is expected to over-utilize the resources on the first host, typically, the VM is migrated to a second host with more available resources. However, VM migration can be very costly and should be delayed or avoided where less expensive options are available.
Licensing aspects and optimization potentials of virtual processors per VM and constructs like shared processor pools (SPPs) may help more efficiently address the costs associated with resource allocation over a cluster of hosts. For example, one or more VMs on a host can be restricted to an SPP that includes a logical pool of processors defined on the host. It is desirable to manage the SPP size for the host, such that processor value unit (PVU) budget is not exceeded for an application. Unfortunately, however, the trade-off between PVU goals (i.e., VM consolidation) and performance goals is often difficult for the system administrator to manage.